﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SAM.Framework.Plugins
{
    /// <summary>
    /// 插件的接口加载规范，主要针对如下几点类型的插件：
    /// 1. 此插件加载或注销都比较消耗资源
    /// 2. 此插件存在生命周期的管理，如：根据不同类型整个AppDomain中只能存在一个实例等
    /// </summary>
    public interface IPlugin
    {
        /// <summary>
        /// 加载模块，获取首要执行的方法
        /// </summary>
        /// <returns></returns>
        bool Install(); 

        /// <summary>
        /// 注销模块
        /// </summary>
        /// <returns></returns>

        bool Uninstall();
    }
}
